# codeing=utf-8

"""
@description:位运算符知识点练习
@author:zhangyanqing@
@date:2020-10-31
@version:python-3.7
"""

# 除基取余法
# 用2去除十进制整数，得到商和余数；
# 如果商不为0，则继续用2除，再得到商和余数，重复该步骤直至商为0；
# 最后将余数按照从后至前的顺序排列，即得到转换后的二进制数。
# 二进制数转十进制数的规则是“按权展开求和”，即将二进制数的每一位写成数码乘以位权的形式，再对乘积求和。

i1,i2=3,6 #i1对应的二进制数是11B，i2对应的二进制数是110B

print(i1^i2) #输出“5”。计算方法：011B^110B=101B=5

print(i1<<1) #输出“6”。计算方法：11B<<1=110B=6

print(i1>>1) #输出“1”。计算方法：11B>>1=1B=1